namespace mplat {
    export interface IVideoInfo {
        /** 激励视频的id列表，默认都是用第一个 */
        ids: string[];
        /** 后台静默去拉取视频，判断是否有视频的时间间隔，单位：秒 */
        testHasVideoTime?: number;
        /** 预加载视频时的回调，比如业务中，调用视频前，加载时，防止用户干等，要弹个动画框 */
        preload?: () => void;
        /** 加载完成，可以开始播放，一般可以用于埋点 */
        loadSuccess?: () => void;
        /** 加载错误 */
        loadErr?: (err?) => void;
        /** 开始播放，一般可以用于埋点 */
        startPlay?: () => void;
        /** 播放错误 */
        playErr?: (err?) => void;
        /** 可以获得奖励，一般可以用于业务中埋点 */
        getReward?: () => void;
        /** 视频中途关闭，就调用此回调，一般用于游戏中埋点 */
        videoCancel?: () => void;
        /** 视频完成时的回调，不管是否看完，或者中途关闭，只要close，就调用此回调，一般用于游戏中声音控制，也可以用来处理预加载打开的界面 */
        videoComplete?: () => void;
    }
    export interface IVideoAd {
        /** 是否有视频广告 */
        hasVideo: boolean;
        /** 设置video的数据 */
        setInfo(info: IVideoInfo);
        /** 显示视频广告 */
        showVideoAd(success: () => void, cancel?: () => void, complete?: () => void);
        /** (不推荐使用)预加载视频广告,load完毕就开始播放了 */
        loadVideoAd();
    }
}